namespace SharpGraphT.Event;

public class GraphVertexChangeEventArgs<TV> : GraphVertexChangeEventArgs {
    private static readonly long SerialVersionUid = 3690189962679104053L;

    protected TV vertex;

    public GraphVertexChangeEventArgs(int type, TV vertex) : base(type) =>
        this.vertex = vertex;

    public TV Vertex => vertex;
}

public class GraphVertexChangeEventArgs : GraphChangeEventArgs {
    public static readonly int BeforeVertexAdded = 11;
    public static readonly int BeforeVertexRemoved = 12;
    public static readonly int VertexAdded = 13;
    public static readonly int VertexRemoved = 14;

    public GraphVertexChangeEventArgs(int type) : base(type) { }
}